debugging:=true
APK:=false
ifeq ($(OS),Windows_NT)
JAVA_HOME:="C:\Program Files\Java\jre7"
JAVA_HOME:="C:\Program Files\Java\jre1.8.0_144"
HOME:=d:
O_O:=
endif
FLEX_HOME:=$(HOME)/flex_sdk_4.5
AS_CLIENT:=Main.as
NAME:=btn
FILENAME:=$(NAME)
SWF_DIR:=../../bin/
VERSIONNUMBER:=1.0
CLIENT_AIR:=../../$(NAME).apk
#CLIENT_APP_XML:=Main-26app.xml
CLIENT_APP_XML:=../../application.xml
AS_PATH:=../#.as文件所在目录
#CLIENT_AS := $(foreach x,${AS_PATH}, $(wildcard $(addprefix ${x}/*,.as))) $(foreach x,.., $(wildcard $(addprefix ${x}/*,.as)))
CLIENT_AS :=$(foreach x,${AS_PATH}, $(wildcard $(addprefix  ${x}/*,.as))) 

ADL:= $(FLEX_HOME)/bin/adl
LANG:=-Duser.language=en -Duser.country=US
FLEX:=$(JAVA_HOME)/bin/java $(LANG) -Dsun.io.useCanonCaches=false -Xms32m -Xmx512m -Dflexlib="$(FLEX_HOME)/frameworks" -jar
#ADT:=$(JAVA_HOME)/bin/java $(LANG) -Dflexlib="$(FLEX_HOME)/frameworks" -jar "$(FLEX_HOME)/lib/adt.jar"
ADT:=$(FLEX_HOME)/bin/adt
ACOMPC:=$(FLEX) "$(FLEX_HOME)/lib/compc.jar" +configname=air
AMXMLC:=$(FLEX_HOME)/bin/amxmlc
AMXMLC:=$(FLEX) "$(FLEX_HOME)/lib/mxmlc.jar" +configname=air
MXMLC:=$(FLEX_HOME)/bin/amxmlc
#FDB:= $(FLEX_HOME)/bin/fdb
FDB:=$(JAVA_HOME)/bin/java -Dsun.io.useCanonCaches=false -Xms32m -Xmx512m -Dapplication.home="$(FALCON_HOME)" -jar "$(FLEX_HOME)/lib/legacy/fdb.jar"
CLIENT_SWF:=$(SWF_DIR)/$(NAME).swf
CERT:=../../my.p12
PASSWORD:=db0@qq.com
RM:=rm -f
FLAGS:= -define=CONFIG::debugging,$(debugging)

all:$(CLIENT_SWF) $(CLIENT_APP_XML)
	$(ADL) $(CLIENT_APP_XML) $(SWF_DIR)
	@echo "all ok"

apk: $(CLIENT_SWF) $(CERT) $(CLIENT_APP_XML)
	$(ADT) -package -target apk -storetype pkcs12 -keystore $(CERT) -storepass $(PASSWORD) $(CLIENT_AIR) $(CLIENT_APP_XML) -C $(SWF_DIR) .
#c:\d\air27\bin\adt.bat  -package -target bundle -storetype pkcs12 -keystore ..\..\bat\taiji.p12 -storepass fd bundle ..\..\application.xml ..\..\bin\btn.swf -C ..\..\bin\ .
	adb install -r $(CLIENT_AIR) &&  adb shell am start -a android.intent.action.MAIN -n air.$(NAME)/.AppEntry

$(CLIENT_SWF): *.as
	$(AMXMLC) -compiler.strict $(AS_CLIENT) $(FLAGS) -source-path=$(AS_PATH) -debug=$(debugging) -output $(CLIENT_SWF)

$(CLIENT_APP_XML):
	sed -e 's/$(O_O)<id$(O_O)>[$(O_O)^$(O_O)<]*$(O_O)<\/id$(O_O)>/$(O_O)<id$(O_O)>$(NAME)$(O_O)<\/id$(O_O)>/' \
		-e 's/$(O_O)<content$(O_O)>[$(O_O)^$(O_O)<]*$(O_O)<\/content$(O_O)>/$(O_O)<content$(O_O)>$(NAME).swf$(O_O)<\/content$(O_O)>/' \
		-e 's/$(O_O)^[$(O_O)^a-z]*$(O_O)<name$(O_O)>[$(O_O)^$(O_O)<]*$(O_O)<\/name$(O_O)>[$(O_O)^a-z]*/$(O_O)<name$(O_O)>$(NAME)$(O_O)<\/name$(O_O)>/' \
		-e 's/$(O_O)^[$(O_O)^a-z]*$(O_O)<versionNumber$(O_O)>[$(O_O)^$(O_O)<]*$(O_O)<\/versionNumber$(O_O)>[$(O_O)^a-z]*/$(O_O)<versionNumber$(O_O)>$(VERSIONNUMBER)$(O_O)<\/versionNumber$(O_O)>/' \
		-e 's/$(O_O)^[$(O_O)^a-z]*$(O_O)<filename$(O_O)>[$(O_O)^$(O_O)<]*$(O_O)<\/filename$(O_O)>[$(O_O)^a-z]*/$(O_O)<filename$(O_O)>$(FILENAME)$(O_O)<\/filename$(O_O)>/' \
		-e 's/$(O_O)^[$(O_O)^a-z]*$(O_O)<extension$(O_O)>[$(O_O)^$(O_O)<]*$(O_O)<\/extension$(O_O)>[$(O_O)^a-z]*/$(O_O)<extension$(O_O)>extension$(O_O)<\/extension$(O_O)>/' \
		-e 's/$(O_O)^[$(O_O)^a-z]*$(O_O)<contentType$(O_O)>[$(O_O)^$(O_O)<]*$(O_O)<\/contentType$(O_O)>[$(O_O)^a-z]*/$(O_O)<contentType$(O_O)>contentType$(O_O)<\/contentType$(O_O)>/' \
		-e 's/$(O_O)^[$(O_O)^a-z]*$(O_O)<description$(O_O)>[$(O_O)^$(O_O)<]*$(O_O)<\/description$(O_O)>[$(O_O)^a-z]*/$(O_O)<description$(O_O)>description$(O_O)<\/description$(O_O)>/' \
		-e 's/$(O_O)<\/id$(O_O)>/$(O_O)<\/id$(O_O)>/' \
		-e 's/$(O_O)<!-- $(O_O)<visible$(O_O)>$(O_O)<\/visible$(O_O)> --$(O_O)>/$(O_O)<visible$(O_O)>true$(O_O)<\/visible$(O_O)>/' \
		-e 's/$(O_O)<!-- $(O_O)<aspectRatio$(O_O)>[$(O_O)^$(O_O)<]*$(O_O)<\/aspectRatio$(O_O)> --$(O_O)>/$(O_O)<aspectRatio$(O_O)>portrait$(O_O)<\/aspectRatio$(O_O)>/' \
		-e 's/$(O_O)^[$(O_O)^a-z]*$(O_O)<manifest android:installLocation="auto"$(O_O)>/$(O_O)<manifest android:installLocation="auto"$(O_O)> \
		$(O_O)<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" \/$(O_O)> \
		$(O_O)<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" \/$(O_O)> \
		$(O_O)<uses-permission android:name="android.permission.INTERNET" \/$(O_O)> \
		$(O_O)<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" \/$(O_O)>/' \
		-e 's/$(O_O)<!-- $(O_O)<supportedProfiles$(O_O)>[$(O_O)^$(O_O)<]*$(O_O)<\/supportedProfiles$(O_O)> --$(O_O)>/$(O_O)<supportedProfiles$(O_O)>desktop extendedDesktop mobileDevice extendedMobileDevice$(O_O)<\/supportedProfiles$(O_O)>/' \
		-e 's/$(O_O)<image16x16$(O_O)>[$(O_O)^$(O_O)<]*$(O_O)<\/image16x16$(O_O)>/$(O_O)<image16x16$(O_O)>icon\/16.png$(O_O)<\/image16x16$(O_O)>/' \
		-e 's/$(O_O)<image32x32$(O_O)>[$(O_O)^$(O_O)<]*$(O_O)<\/image32x32$(O_O)>/$(O_O)<image32x32$(O_O)>icon\/32.png$(O_O)<\/image32x32$(O_O)>/' \
		-e 's/$(O_O)<image36x36$(O_O)>[$(O_O)^$(O_O)<]*$(O_O)<\/image36x36$(O_O)>/$(O_O)<image36x36$(O_O)>icon\/36.png$(O_O)<\/image36x36$(O_O)>/' \
		-e 's/$(O_O)<image48x48$(O_O)>[$(O_O)^$(O_O)<]*$(O_O)<\/image48x48$(O_O)>/$(O_O)<image48x48$(O_O)>icon\/48.png$(O_O)<\/image48x48$(O_O)>/' \
		-e 's/$(O_O)<image57x57$(O_O)>[$(O_O)^$(O_O)<]*$(O_O)<\/image57x57$(O_O)>/$(O_O)<image57x57$(O_O)>icon\/57.png$(O_O)<\/image57x57$(O_O)>/' \
		-e 's/$(O_O)<image72x72$(O_O)>[$(O_O)^$(O_O)<]*$(O_O)<\/image72x72$(O_O)>/$(O_O)<image72x72$(O_O)>icon\/72.png$(O_O)<\/image72x72$(O_O)>/' \
		-e 's/$(O_O)<image114x114$(O_O)>[$(O_O)^$(O_O)<]*$(O_O)<\/image114x114$(O_O)>/$(O_O)<image114x114$(O_O)>icon\/114.png$(O_O)<\/image114x114$(O_O)>/' \
		-e 's/$(O_O)<image128x128$(O_O)>[$(O_O)^$(O_O)<]*$(O_O)<\/image128x128$(O_O)>/$(O_O)<image128x128$(O_O)>icon\/128.png$(O_O)<\/image128x128$(O_O)>/' \
		-e 's/[$(O_O)^$(O_O)>]*\($(O_O)<[\/]*icon[$(O_O)^$(O_O)>]*$(O_O)>\)[$(O_O)^$(O_O)<]*/\1/' \
		-e 's/[$(O_O)^$(O_O)>]*\($(O_O)<[\/]*android[$(O_O)^$(O_O)>]*$(O_O)>\)[$(O_O)^$(O_O)<]*/\1/' \
		-e 's/[$(O_O)^$(O_O)>]*\($(O_O)<[\/]*manifestAdditions[$(O_O)^$(O_O)>]*$(O_O)>\)[$(O_O)^$(O_O)<]*/\1/' \
		-e 's/[$(O_O)^$(O_O)>]*\($(O_O)<[\/]*fileTypes[$(O_O)^$(O_O)>]*$(O_O)>\)[$(O_O)^$(O_O)<]*/\1/' \
		-e 's/[$(O_O)^$(O_O)>]*\($(O_O)<[\/]*fileType[$(O_O)^$(O_O)>]*$(O_O)>\)[$(O_O)^$(O_O)<]*/\1/' \
		-e 's/[$(O_O)^$(O_O)>]*\($(O_O)<[\/]*iPhone[$(O_O)^$(O_O)>]*$(O_O)>\)[$(O_O)^$(O_O)<]*/\1/' \
		-e 's/[$(O_O)^$(O_O)>]*\($(O_O)<[\/]*InfoAdditions[$(O_O)^$(O_O)>]*$(O_O)>\)[$(O_O)^$(O_O)<]*/\1/' \
		$(FLEX_HOME)/templates/air/descriptor-template.xml > $(CLIENT_APP_XML)


$(CERT):
	$(ADT) -certificate -cn db0@qq.com -ou db0@qq.com -o db0@qq.com -c CN -validityPeriod 1 2048-RSA $(CERT) $(PASSWORD)


.PHONY : clean
clean:
	$(RM) $(CLIENT_AIR) $(CLIENT_SWF) $(EXE) $(ANE_DLL) $(ANE_SO) win.ane *.air *.apk *.p12 abc

